﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclSolcred;
using com.creditos.be.liclUtil;

namespace liclSolcred.Views
{
    public class FormsEstrategiasCreditoPresenter : liclSolcred.Views.Viewer<IFormsEstrategiasCreditoView>
    {
        liclSolcredController oController = new liclSolcredController();
        public FormsEstrategiasCreditoPresenter()
        {
        
        }

        public void Load()
        {
            CargarListaPlantillaPorTipo(1);//Autonomias
            CargarListaPlantillaPorTipo(2);//Límites de Crédito
            CargarListaPlantillaPorTipo(3);//Parametros Básicos
            CargarListaPlantillaPorTipo(4);//Scoring
            CargarListaPlantillaPorTipo(5);//Relación Cuota Ingreso
            CargarListaPlantillaPorTipo(6);//Central de Riesgo
            CargarListaPlantillaPorTipo(7);//Posición SBS
            CargarListaPlantillaPorTipo(8);//Posición Banco
            CargarListaPlantillaPorTipo(9);//Verificaciones                        
        }


        public void ListarProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<ProductoBE> lstProductos = new List<ProductoBE>();
                lstProductos = oController.ListarProductos(oProductoBE);
                View.CargarProductos(lstProductos);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarSubProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<SubProductoBE> lstSubProductos = new List<SubProductoBE>();
                lstSubProductos = oController.ListarSubProductos(oProductoBE);
                View.CargarSubProductos(lstSubProductos);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ListarEstrategiasCredito(EstrategiasCreditoBE oEstrategias)
        {
            try
            {
                List<EstrategiasCreditoBE> lstEstrategia = new List<EstrategiasCreditoBE>();
                lstEstrategia = oController.ListarEstrategiasCredito(oEstrategias);
                View.CargarEstrategias(lstEstrategia);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void CargarListaPlantillaPorTipo(int tipoPlantilla)
        {

            try
            {
                List<EstrategiasCreditoBE> lstEstrategia = new List<EstrategiasCreditoBE>();
                lstEstrategia = oController.CargarListaPlantillaPorTipo(tipoPlantilla);
                View.CargarListaPlantillaPorTipo(lstEstrategia,tipoPlantilla);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }

        }

        public void ActualizarEstrategia(EstrategiasCreditoBE oEstrategias)
        {
            try
            {
                List<EstrategiasCreditoBE> lstEstrategia = new List<EstrategiasCreditoBE>();
                lstEstrategia = oController.ActualizarEstrategia(oEstrategias);
                View.CargarEstrategias(lstEstrategia);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void ObtenerEstrategia(EstrategiasCreditoBE oEstrategia)
        {

            try
            {
                List<EstrategiasCreditoBE> lstEstrategia = new List<EstrategiasCreditoBE>();
                lstEstrategia = oController.ObtenerEstrategia(oEstrategia);
                View.ObtenerEstrategia(lstEstrategia);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }

        }
    }
}
